Client devices often use network content browser applications (also referred to simply as “browsers”) to obtain content items from servers and to display the content items to users. In a common scenario, a client browser can transmit a request for a content page to a content server, and receive a response, such as a markup file that defines the requested content. The markup file may include data and instructions for displaying the content, and may also reference other files, such as images, executable scripts, and the like. The client device can parse the markup file, identify references to other files, and retrieve the referenced files from the appropriate content servers. This process may continue until all referenced items have been obtained and the content item has been completely parsed, processed, and displayed.
Browsers may implement a variety of techniques to reduce the number of individual files or overall amount of data that must be retrieved for a given content item, thereby reducing the total amount of time and computing resources required to retrieve the content item. For example, browsers may cache previously received files so that the files do not need to be retrieved for subsequent content items that reference the files. As another example, browsers may be configured to obtain compressed versions of content from content sources or intermediary systems, such as proxy servers. By obtaining compressed versions of content, the overall amount of data retrieved via a network connection can be reduced, while still obtaining all data necessary for proper processing and display of a requested content item.